package org.csu.onlineedubackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import lombok.Data;
import org.csu.onlineedubackend.dto.ChapterWithLessonsDTO;
import org.csu.onlineedubackend.entity.Chapter;

import java.util.List;

public interface ChapterService extends IService<Chapter> {
    
    /**
     * 获取课程的所有章节（包含课时信息）
     * @param courseId 课程ID
     * @return 章节列表（包含课时）
     */
    List<ChapterWithLessonsDTO> getChaptersWithLessons(Integer courseId);
    
    /**
     * 根据课程ID获取章节列表
     * @param courseId 课程ID
     * @return 章节列表
     */
    List<Chapter> getChaptersByCourseId(Integer courseId);
    
    /**
     * 创建新章节
     * @param chapter 章节信息
     * @return 是否成功
     */
    boolean createChapter(Chapter chapter);
    
    /**
     * 更新章节排序
     * @param chapterId 章节ID
     * @param sortOrder 排序值
     * @return 是否成功
     */
    boolean updateChapterSort(Integer chapterId, Integer sortOrder);
    
    /**
     * 删除章节（会同时删除该章节下的所有课时）
     * @param chapterId 章节ID
     * @return 是否成功
     */
    boolean deleteChapter(Integer chapterId);
}
